; PRACTICA 2 - IAIC - BASE DE REGLAS
; COMPONENTES GRUPO C22
; 	Victor Requena Lopez
; 	Carlos Sanchez Juanes
; 	Sergio Valverde Jeronimo
;
;
; ASESOR LABORAL orientado a un ENFOQUE TECNICO
;
; 
; Nuestra base de reglas se organiza de la siguiente forma:
;	Los primeros slots definen las caracteristicas del usuario
; 	y los segundos las caracteristicas del tipo de trabajo en el que encaja mejor.
;	La salida de la practica final sera una plantilla que te da las pautas para resaltar
;	tus cualidades dentro del curriculum.
;	Por el momento solamente indica el tipo de plantilla que mas se adecua a tus aptitudes.
; 	Este ejemplo en particular esta limitado al campo de la docencia.
;	Para ampliar la base de reglas a otros sectores laborales 
;	habria que hacer archivos similares con otros hechos (deffacts) correspondientes
;	a los tipos de puesto de trabajo de cada sector, asi como la prioridad (salience) de las reglas.
;	Por ejemplo: Para trabajos del sector servicios, importara menos la formacion academica que la experiencia.


 	
;-------------------------------------------------------------------------------------------


(deftemplate curriculum
	(slot edad)
	(slot fAcademica)
	(slot titulos)
	(slot experiencia)
	(slot idiomas)
	(slot informatica)
	(slot carnet )
	(slot disponibilidad)
	(slot tipoCurriculum)
)


;-------------------------------------------------------------------------------------------
; FORMULARIO DE RECOGIDA DE DATOS
;-------------------------------------------------------------------------------------------	



(assert(curriculum (edad 1)(fAcademica 3)(titulos 0)(experiencia 0)(idiomas 1)
		   (informatica 3)(carnet 1)(disponibilidad 4)
		   (tipoCurriculum "Plantilla de Curriculum para Maestro primaria")))

	(assert(curriculum (edad 2)(fAcademica 3)(titulos 0)(experiencia 1)(idiomas 0)
		   (informatica 4)(carnet 1)(disponibilidad 4)
		   (tipoCurriculum "Plantilla de Curriculum para Profesor ESO")))

	(assert(curriculum (edad 2)(fAcademica 5)(titulos 0)(experiencia 1)(idiomas 1)
		   (informatica 4)(carnet 0)(disponibilidad 3)
		   (tipoCurriculum "Plantilla de Curriculum para Profesor Bachillerato")))

	(assert(curriculum (edad 2)(fAcademica 5)(titulos 1)(experiencia 1)(idiomas 0)
		   (informatica 3)(carnet 0)(disponibilidad 4)
		   (tipoCurriculum "Plantilla de Curriculum para Titular de universidad")))

	(assert(curriculum (edad 3)(fAcademica 5)(titulos 2)(experiencia 0)(idiomas 2)
		   (informatica 3)(carnet 0)(disponibilidad 4)
		   (tipoCurriculum "Plantilla de Curriculum para Contratado Doctor"))	)

	(assert(curriculum (edad 4)(fAcademica 5)(titulos 2)(experiencia 1)(idiomas 2)
		   (informatica 3)(carnet 0)(disponibilidad 3)
		   (tipoCurriculum "p2")))

	(assert(curriculum (edad 1)(fAcademica 4)(titulos 0)(experiencia 0)(idiomas 0)
		   (informatica 4)(carnet 1)(disponibilidad 2)
		   (tipoCurriculum "Plantilla de Curriculum para Profesor de academia"))
	)

-----------------------------------------------------------------------
; POSIBLES TIPOS DE PUESTOS DE TRABAJO (HECHOS)
;-------------------------------------------------------------------------------------------


	


;-------------------------------------------------------------------------------------------



;-------------------------------------------------------------------------------------------
; REGLAS
;-------------------------------------------------------------------------------------------


(defrule reglaPrincipal
	(declare (salience 100))
    
	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=>  	(assert (tipoCurriculum ?tc))
	(call ?*writer* write ?tc )(retract ?cv)

	)
	
(defrule reglaSinCarnet   
	(declare (salience 99))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)


(defrule reglaPocaEdad
	(declare (salience 98))
    
	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocosIdiomas
	(declare (salience 97))
    
	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaInformatica
	(declare (salience 96))
    
	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaSinCarnetMuchaEdad
	(declare (salience 95))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc))
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaSinCarnetPocosIdiomas
	(declare (salience 94))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaMuchaEdadPocosIdiomas
	(declare (salience 93))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc))
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaSinCarnetPocaInformatica
	(declare (salience 92))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaMuchaEdadPocaInformatica
	(declare (salience 91))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocosIdiomasPocaInformatica
	(declare (salience 90))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocosTitulos
	(declare (salience 89))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaSinCarnetPocosTitulos
	(declare (salience 88))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaMuchaEdadPocosTitulos
	(declare (salience 87))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocosIdiomasPocosTitulos
	(declare (salience 86))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaSinCarnetMuchaEdadPocosTitulos
	(declare (salience 85))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaSinCarnetPocosIdiomasPocosTitulos
	(declare (salience 84))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaMuchaEdadPocosIdiomasPocosTitulos
	(declare (salience 83))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaInformaticaPocosTitulos
	(declare (salience 82))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaInformaticaPocosTitulosSinCarnet
	(declare (salience 81))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaInformaticaPocosTitulosMuchaEdad
	(declare (salience 80))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaInformaticaPocosTitulosPocosIdiomas
	(declare (salience 79))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaInformaticaPocosTitulosSinCarnetMuchaEdad
	(declare (salience 78))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaInformaticaPocosTitulosSinCarnetPocosIdiomas
	(declare (salience 77))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (<= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaInformaticaPocosTitulosMuchaEdadPocosIdiomas
	(declare (salience 76))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaExperiencia
	(declare (salience 75))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (<= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)


(defrule reglaPocaExperienciaSinCarnet
	(declare (salience 74))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (<= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaExperienciaMuchaEdad
	(declare (salience 73))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (<= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaExperienciaPocosIdiomas
	(declare (salience 72))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (<= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)


(defrule reglaPocaExperienciaSinCarnetMuchaEdad
	(declare (salience 71))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (<= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaExperienciaSinCarnetPocosIdiomas
	(declare (salience 70))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (<= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)


(defrule reglaPocaExperienciaMuchaEdadPocosIdiomas
	(declare (salience 69))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (<= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)


(defrule reglaPocaExperienciaPocaInformatica
	(declare (salience 68))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (<= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaExperienciaSinCarnetPocaInformatica
	(declare (salience 67))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (<= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)


(defrule reglaPocaExperienciaMuchaEdadPocaInformatica
	(declare (salience 66))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (<= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)


(defrule reglaPocaExperienciaPocosIdiomasPocaInformatica
	(declare (salience 65))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (<= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaExperienciaMuchaEdadPocosIdiomasPocaInformatica
	(declare (salience 64))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (<= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaExperienciaPocosTitulos
	(declare (salience 63))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (<= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaDisponibilidad
	(declare (salience 62))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaDisponibilidadSinCarnet
	(declare (salience 61))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaDisponibilidadMuchaEdad
	(declare (salience 60))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaDisponibilidadPocosIdiomas
	(declare (salience 59))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaDisponibilidadSinCarnetMuchaEdad
	(declare (salience 58))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc))
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaDisponibilidadSinCarnetPocosIdiomas
	(declare (salience 57))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaDisponibilidadMuchaEdadPocosIdiomas
	(declare (salience 56))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaDisponibilidadPocaInformatica
	(declare (salience 55))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaDisponibilidadPocaInformaticaSinCarnet
	(declare (salience 54))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (<= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaDisponibilidadPocaInformaticaMuchaEdad
	(declare (salience 53))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaDisponibilidadPocaInformaticaPocosIdiomas
	(declare (salience 52))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaDisponibilidadPocaInformaticaSinCarnetMuchaEdad
	(declare (salience 51))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (<= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaDisponibilidadPocaInformaticaMuchaEdadPocosIdiomas
	(declare (salience 50))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaDisponibilidadPocosTitulos
	(declare (salience 49))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)


(defrule reglaPocaDisponibilidadPocosTitulosSinCarnet
	(declare (salience 48))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)


(defrule reglaPocaDisponibilidadPocosTitulosMuchaEdad
	(declare (salience 47))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)


(defrule reglaPocaDisponibilidadPocosTitulosPocosIdiomas
	(declare (salience 46))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaDisponibilidadPocosTitulosSinCarnetMuchaEdad
	(declare (salience 45))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)


(defrule reglaPocaDisponibilidadPocosTitulosSinCarnetPocosIdiomas
	(declare (salience 44))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)


(defrule reglaPocaDisponibilidadPocosTitulosMuchaEdadPocosIdiomas
	(declare (salience 43))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)



(defrule reglaPocaDisponibilidadPocosTitulosPocaInformaticaSinCarnet
	(declare (salience 42))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (<= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)



(defrule reglaPocaDisponibilidadPocosTitulosPocaInformaticaMuchaEdad
	(declare (salience 41))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)



(defrule reglaPocaDisponibilidadPocosTitulosPocaInformaticaPocosIdiomas
	(declare (salience 40))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)




(defrule reglaPocaDisponibilidadPocosTitulosPocaInformaticaSinCarnetMuchaEdad
	(declare (salience 39))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (<= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)


(defrule reglaPocaDisponibilidadPocosTitulosPocaInformaticaSinCarnetPocosIdiomas
	(declare (salience 38))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (<= ?if ?if1))
	(test (<= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)



(defrule reglaPocaDisponibilidadPocosTitulosPocaInformaticaPocosIdiomasMuchaEdad
	(declare (salience 37))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (= ?a ?a1))
	(test (<= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)



(defrule reglaPocaFormacion
	(declare (salience 36))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (<= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)



(defrule reglaPocaFormacionSinCarnet
	(declare (salience 35))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (<= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)



(defrule reglaPocaFormacionMuchaEdad
	(declare (salience 34))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (<= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)



(defrule reglaPocaFormacionPocosIdiomas
	(declare (salience 33))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (<= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)



(defrule reglaPocaFormacionSinCarnetMuchaEdad
	(declare (salience 32))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (<= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)



(defrule reglaPocaFormacionSinCarnetPocosIdiomas
	(declare (salience 31))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (<= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)


(defrule reglaPocaFormacionPocosIdiomasMuchaEdad
	(declare (salience 30))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (<= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaFormacionPocaInformatica
	(declare (salience 29))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (<= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)



(defrule reglaPocaFormacionPocaInfomaticaSinCarnet
	(declare (salience 28))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (<= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)



(defrule reglaPocaFormacionPocaInfomaticaMuchaEdad
	(declare (salience 27))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (<= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)



(defrule reglaPocaFormacionPocaInfomaticaPocosIdiomas
	(declare (salience 26))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (<= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)

(defrule reglaPocaFormacionPocaInfomaticaSinCarnetMuchaEdad
	(declare (salience 25))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (<= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (= ?id ?id1))
	(test (<= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)



(defrule reglaPocaFormacionPocaInfomaticaSinCarnetPocosIdiomas
	(declare (salience 24))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (= ?ed ?ed1))
	(test (<= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (<= ?if ?if1))
	(test (<= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)


(defrule reglaPocaFormacionPocaInfomaticaMuchaEdadPocosIdiomas
	(declare (salience 23))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (<= ?a ?a1))
	(test (= ?t ?t1))
	(test (= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (<= ?if ?if1))
	(test (= ?c ?c1))
	(test (= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc)) 
	(call ?*writer* write ?tc )(retract ?cv)
	)



(defrule reglaResto
	(declare (salience 22))

	?eda <- (edad ?ed)
	?fAda <- (fAcademica ?a)
	?tit <- (titulos ?t)
	?exp <- (experiencia ?ex)
	?idi <- (idiomas ?id)
	?inf <- (informatica ?if)
	?car <- (carnet ?c)
	?dis <- (disponibilidad ?d)
	?cv <- (curriculum (edad ?ed1)(fAcademica ?a1)(titulos ?t1)(experiencia ?ex1)(idiomas ?id1)
					(informatica ?if1)(carnet ?c1)(disponibilidad ?d1) (tipoCurriculum ?tc))
	(test (>= ?ed ?ed1))
	(test (<= ?a ?a1))
	(test (<= ?t ?t1))
	(test (<= ?ex ?ex1))
	(test (<= ?id ?id1))
	(test (<= ?if ?if1))
	(test (<= ?c ?c1))
	(test (<= ?d ?d1))
	
=> 
  	(assert (tipoCurriculum ?tc))
	(call ?*writer* write ?tc )(retract ?cv)

	)

(defglobal ?*file* = ( new java.io.OutputStreamWriter ( new java.io.FileOutputStream "C://salida.txt" ) ) )
(defglobal ?*writer* = ( new java.io.BufferedWriter ?*file* ) )

;-----------------------------------------------------------------------------------------------------------------
(call ?*writer* write "Una buena plantilla es:")
(run )
(call ?*writer* close)